package com.sumainfor.common.entity;

import lombok.Builder;
import lombok.Getter;
import lombok.ToString;

import java.util.List;

/**
 * @Author Jack Chen
 * @Create 2019-01-15 14:54
 */
@Builder(toBuilder = true)
@Getter
@ToString
public class DataFilterEntity {

    /**
     * true: 忽略所有的权限 查看全部数据不限制公司区域 最高权限 Admin 专用
     */
    private boolean ignore;

    /**
     * true: 忽略所有的权限 只能查看当前用户所在公司区域的全部数据  1
     */
    private boolean ignoreExcludeArea;

    /**
     * true：拥有子部门数据权限
     * false: 只能看到自己的数据权限
     */
    @Builder.Default
    private boolean subDept = true;

    /**
     * 是否能够看到自己上级部门下所有的数据
     * true : 可以看到
     * *级别为 2

    private boolean parentDept;

    /**
     * parentDept = true 生效
     * 自己可以看到上级部门的第几级的部门
     * 默认一级 代表自己的父级部门 ↑↑
     * *级别为 2
     *
    private int parentDeptLevel;*/

    /**
     * 指定要忽略的表  From 后面的表为准
     * 意思： 会忽略这些表的权限验证
     */
    private List<String> ignoreTables;

    /**
     * 循环这个部门的上级部门 如果发现是服务中心 就可以看到服务中心下的数据
     * *级别为 1
     */
    @Builder.Default
    private boolean subServiceCenter = true;
}
